docs(adr): ADR-0071 dataset semantic-layer depth (multi-hop joins + matrix pivot)#2289
Merged
Conversation
…atrix pivot) Grounded design for the two ADR-0021 follow-ups: multi-hop relationship joins (include accepts dotted paths; compiler chains; strategy emits chained LEFT JOINs with per-hop RLS, behind a depth cap) and matrix pivoting (renderer pivots the existing rows/columns into a 2-D grid; query/spec unchanged). Phased P1 (matrix, objectui-only) → P2 (multi-hop framework) → P3 (objectui catalog/UI). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bake in the expert refinements: restrict multi-hop to to-one relationships (lookup/master_detail) so chains never fan out and SUM stays correct with no symmetric-aggregate machinery; to-many rollups explicitly out of scope. Add a Prior art section (Salesforce report types, Looker Explores, Power BI/Tableau relationships, Cube transitive joins; the Looker/Tableau fan-out lesson). Note dotted paths are self-disambiguating; depth cap is now a perf guard not a correctness one; matrix column cap is a display ceiling. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A grounded ADR for the two capability follow-ups from ADR-0021 (the option-2 "semantic-layer depth" direction), based on the current code:
Dataset.includeisstring[]of single relationship names andqualifyAndRegisterJoinsplits on the first dot, soaccount.owner.regionbreaks. Proposal:includeaccepts relationship paths; the compiler expands the join chain; the strategy emits chainedLEFT JOINs with per-hop RLS, behind a depth cap (default 3); undeclared paths still rejected (D-C unchanged).Report.rows/columnsalready exist but the dataset renderer flattens instead of pivoting (ADR-0021 D2 follow-up). Proposal:DatasetReportRendererpivots the existing rows/columns into a 2-D grid (query/spec unchanged), with a column-cardinality cap.Phasing
Backward compatible (single-hop + flat rows unchanged). Looking for review on the spec shape (dotted
includepaths), the depth cap, and the phasing before implementing.Note: ADR number 0071 picked off latest
main(0070); happy to renumber if it collides with a concurrent ADR.🤖 Generated with Claude Code